package com.tbit.uqbike.object.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.tbit.uqbike.constant.CsvConstant;
import com.tbit.uqbike.webmanager.util.csv.annotations.Csv;
import com.tbit.uqbike.webmanager.util.csv.annotations.Sum;
import lombok.Data;

import java.util.Date;

/**
 * 退款记录表
 *
 * @Author:BUGTian
 * @DATE: 2022/11/16
 */
@Data
public class RefundLog {
    /**
     * 主键id
     */
    private Long refundId;
    /**
     * 用户id
     */
    private Integer userId;
    /**
     * 用户手机号
     */
    @Csv(name = "用户手机号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String phone;
    /**
     * 用户姓名
     */
    private String userName;
    /**
     * 变动区域id
     */
    private Integer accountId;
    /**
     * 区域名称
     */
    @Csv(name = "区域名称", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String accountName;
    /**
     * 品牌id
     */
    private Integer brandId;
    /**
     * 操作时间
     */
    @Csv(name = "操作时间", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Date operatorTime;
    /**
     * 操作人id
     */
    private Integer operatorId;
    /**
     * 操作人手机号码
     */
    @Csv(name = "操作人手机号码", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String operatorPhone;
    /**
     * 操作人名称
     */
    @Csv(name = "操作人名称", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String operatorName;
    /**
     * 变动金额 (单位：分)
     */
    private long changeMoney;
    /**
     * 变动类型1：骑行费用退款，2：用户罚款退款，3：会员卡退款，4：免押卡退款，5：骑行卡退款，6：优惠券套餐退款，7：预存款退款，8：押金退款，9：礼品卡费用退款10：人工修改订单抵扣费用退款11：其他虚拟抵扣费用退款
     */
    @Csv(name = "类型", keys = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11"}, values = {"骑行费用退款", "用户罚款退款", "会员卡退款", "免押卡退款", "骑行卡退款", "优惠券套餐退款", "预存款退款", "押金退款", "礼品卡费用退款", "人工修改订单抵扣费用退款", "其他虚拟抵扣费用退款"}, type = CsvConstant.CSV_TYPE_WITHOUT)
    private Integer changeType;
    /**
     * 退款备注
     */
    @Csv(name = "退款备注", commaReplace = ";", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String refundRemark;
    /**
     * 退款时间
     */
    @Csv(name = "退款时间", type = CsvConstant.CSV_TYPE_WITHOUT)
    private Date refundTime;
    /**
     * 业务订单号
     */
    @Csv(name = "业务订单号", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String businessNO;
    /**
     * 商户订单号
     */
    @Csv(name = "商户订单号", commaReplace = ";", type = CsvConstant.CSV_TYPE_WITHOUT)
    private String merchantNO;
    /**
     * 骑行订单号
     */
    private String orderId;
    /**
     * 变动金额 (单位：元)
     */
    @Sum
    @Csv(name = "变动金额", type = CsvConstant.CSV_TYPE_WITHOUT)
    @TableField(exist = false)
    private Double changeMoneyYuan;

}
